"""
素数之和

所有小于10的素数的和为2 + 3 + 5 + 7 = 17。求小于两百万的所有素数之和。
"""

def is_prime(n):
    if n==2:
        return True
    else:
        for i in range(2,int(pow(n,0.5))+1):
            if(n%i==0):
                return False
        else:
            return True

sum=2
prime=[]
for i in range(3,2000000,2):
    if is_prime(i):
        sum+=i
        prime.append(i)
print(sum)





# 优化方法：数字筛选 用时：0.124s
# def primes(n):
#     an=[True]*n
#     for i in range(3,int(n**0.5)+1,2):#消去合数
#         if an[i]:
#             an[i*i::2*i]=[False]*int((n-i*i-1)/(2*i)+1)
#     primelist=[2]+[j for j in range(3,n,2) if an[j]]
#     return sum(primelist)
# print(primes(2000000))

 